An S-100 Bus Display Board Introduction
If you do any kind of serious work with your S-100 system being able to see at a glance the status of
many S100 bus signals is very useful. A number of years ago we developed our
System Monitor Board (SMB)
which does this well. It's now in its third version and has settled
down to be a very reliable board. It is however a somewhat complex
board requiring a GAL programmer and without a set of ribbon cable
connections is difficult to read in the bus. It can also be a big
undertaking for a real beginner. Indeed it is at times a bit of an overkill.
Many of us can remember the "Jade
Bus Probe" which came out in the late 1970's. It was an extra
large S100 bus board that extended above all the other boards in the bus and
displayed continuously many of the important S100 bus signals in real time.
It was extremely useful in developing/debugging boards. It did however
suffer from a few things. A number of the S100 bus signals had to
travel up the board thereby increasing their effective bus length. While
fine with CPU's of the time, it does not work well with our newer "modern
day" boards that run in the 8-10MHz range. That said, from
time to time I use it as a "quick and dirty " tool to find on
what is going on with a board that is acting up.
I would now like to introduce an upgrade on the concept, a S100 Bus
Display Board.
The first thing you notice about this board is that it is large.
It is meant to sit in the bus so that the bus signals are always visible
when other boards are nearby. The board draws from well established
circuits in our SMB,
Extender Board and
MSDOS Support board.
Here is a list of its main features. 1.
All 23 address lines are displayed (IEEE 696 Specs). They are latched by the
pSync/pWR*/pDBIN signals. 2. All S100 bus Status and
Control lines are displayed. The LED lights up if the signals is active.
(This can be low or high). 3.
Because many signals have very short (High or Low) pulses that would be
invisible at the LED, the LED signal (not the S100 bus signal), is
stretched to be visible. 4. All 8 possible Interrupt
lines are displayed. Again because these signals have very short the LED
signal (not the S100 bus signal), is stretched to be visible. 5.
For IEEE 696 master/slave transitions all four TMA0-3 lines are displayed. 6. The board
contains circuits to stop the running CPU, single step through individual
machine cycles one at a time and later continue. This is done via
two push buttons.
7. The board contains its own logic probe which can be used
via a probe wire to display the status of any signal in the bus.
8. The above logic probe can be jumpered to activate a high
and low sounding buzzer as well as the LEDs.
9. The board has a jumper connection that can be hooked up
to a logic analyzer for convenient signal analysis. In other words all
the signals come to one spot.
10. The board contains 3 LEDs to indicate that the +8V, +16V and -16V
power lines are active in the bus.
11. There are footprints on the board so that it can be powered by a
TO-3 78H05 (3A) or by one of the newer switching regulators such as those
from EzSBC.COM or Pololu.COM.
BTW, this is a great board for a beginner. The are no ROMs, GALs or
CPLDs on this board. The circuits are very simple and self contained.
Step By Step Building the
Bus Display Board The build instructions are fairly simple for this board. As always,
first examine the bare board carefully for scratches or damaged traces, use
a magnifying glass if need be. A broken trace is almost impossible to
detect by eye on a completed board. Unlike many of our other boards
the traces on this board are quite wide. I don't anticipate any problems.
The linear 78H05 5V regulator can be replaced with an switching
EzSBC.com PSu5 or a
Pololu D24V2F5 5V
regulator. If you use the TO-3 78H5 regulator be sure to use a mica
insulator so the metal of the regulator does not touch the pads below it.
Please see the very bottom of this page for minor
board bugs/corrections before starting your build.
Build the board up in functional steps. Avoid the temptation of adding
everything at once and popping it into your S-100 box. Step by step is
faster in the end -- trust me.
Add in all IC sockets, resistors, resistor networks, and 0.1uF caps.
Be very careful to add the resistor networks in their correct orientation.
Pin 1 is always the square pad. Likewise be sure the Tantalum capacitors +
pin is on the square pad. Do not add any IC's yet or the two buzzers
or push button switches SW1 or SW2.
Add the LED's to display the power lines (D69, D70 & D71). Added
the power regulator. Place the board in the bus. The LED should light up.
If you use the SBC 5V regulator be sure and put a washer between the board
and the bottom of the regulator. The pins of this regulator are quite
fragile and do not fit exactly the holes on the board without bending them
inwards very slightly. See the picture below.
Here is a picture of the bare board at this stage:-
Your system should boot up. Check you have 5V at the Vcc pin of each IC.
We will first add the Address Line Display Circuit. Be sure you add the
LED's in their correct orientation. (Normally the longer lead goes into the
square pad).
Add U8, U9, U11, U10, U35 and U36. Add U7 & U14. Insert the board into
your bus. Normally (with a Z80), only the address lines A0 to A15 will
light up. If you can switch control to one of our 16 bit CPUs all
the address lines will light up. if you run the Master monitor "A"
command the A0-A15 lines should flicker.
We will next add the Data Lines Display Circuit. Again be sure you add the
LED's in their correct orientation. The color/size of the LED's are your
choice.
Add U12 and U13, U11, U10, U35 and U36. Add U7 & U14. Insert the board
into your bus. Both the data In and Out lines should flicker.
We will next add the TMA Lines Display Circuit. Again be sure you add the
LED's in their correct orientation.
Add U30. Insert the board into your bus. Normally these LEDs
should be off. If you have a slave board such as our 8086, 80486,
68030 etc. when you transfer control to the CPU board the relevant TMA0-TMA3
line should light up.
Now will next add the Status and Control Display Circuits. Add the LED's in
their correct orientation.
Add U4, U5, U6, U2, U18, U20 and U103.
Insert the board into your bus and boot up. Some of the LEDs should
flicker. You can write various small programs in RAM to check the
appropriate status signals are correct.
For example in RAM at
0H:- C3 00 00
with the
G0 command should have
the sMEMR LER light up (but not any others on that top row).
Next insert U23 and check the >64K LED only lights up when you access RAM
above 64K (typically with a 16 bit CPU, or CPM3).
Now will next add the Interrupt lines Display Circuit. Add the LED's in
their correct orientation.
Add U17, U22, U24 and U25. Insert the board into your bus and boot up.
In tour typical/default mode Interrupt V1* should flicker when you enter a
keyboard character.
Now will next add the Stop/Single Circuit.
Add the two push buttons. Be sure you have the orientation such that
the top pair of pads short to the bottom pair of pads when the button is
pressed.
Add U26, U27, U16 and U15. Insert the board into your bus and boot up.
Type:- D0,FFFFH
As the RAM is being displayed press the SW1 "Stop" button once. The
CPU will halt.
Next press the SW2 "Single Step" button multiple times. You will
see the address lines change as the CPU steps along through RAM.
Press the "Stop" button again and the CPU will continue forward as if
nothing happened.
Finally we will add the on-board Logic Probe circuit.
Add U19, U28 and U29. Add the two buzzers. Don't solder them in
yet until you decide on the high/low sounds.
Power up. Attach a probe to P3. You can then use the four LEDs (D72,
D73, D74 and D68) to analyze the high/low status of any signal in your
system.
If you have a Logic Analyzer you can construct a cable to hook-up some of
the critical S100 bus signals to it via a ribbon cable to p2.
Jumpers
The bottom 3 jumpers are for to be complaint with IEEE-696 extra ground
lines. -- not really necessary and do not use on old motherboards. The
middle jumpers are for activating the buzzers and a choice of either on all the time, or with a
pulse, for the logic probe.
Bugs & Corrections
There are two small layout bugs on this board. Please make a note of them
before building the board. 1. The two 1.0uF capacitors (C58 and
C59) in the debounce circuit for the Stop & Single Step circuit ended up in
a strange position on the board. They are above U17 and U22. They work
fine there, just be sure you don't put a 0.1uF filter cap in those
positions. Be sure you have the + side of the capacitor on the RHS in both
cases.
Here is a picture of their locations.
2. There is an error for the network resistor to LED D18. It's currently
PUB9. This connection needs to be cut on the back of the board and a 470 Ohm
resistor jumpered to Vcc. Please carefully review the picture below. Here is
a picture of how the board should be modified.
Both these errors have been corrected in the V1.21
version of this board. Do not cut the above trace, The debounce caps C58 &
C59 have also been relocated.
Unfortunarely I forgot to change the silkscreen on the board to read "V1.21"
and a new date (4/11/2019). It still reads V1.2 - please note.
Finally please keep in mind that this board displays the S100 bus lines e.g.
RAM values. In most cases that is also what the current bus master/CPU sees.
However if you are monitoring the bus from an onboard ROM on your CPU
card this bus display card will actually display something different,
because, in those cases the data does not come from the bus. The data in
buffer(s) are in fact inactive. The data to the CPU comes from the onboard
ROM(s). The above Bus Display board
will actually display the bus RAM bytes "under' the onboard CPU ROM.
If you want to step through your monitor ROM code, reassemble and
relocate it to RAM and jump to it there. There are other ways for
those more experienced.
A Production S-100 Board Realizing that a number of people might want to utilize a
board like this together with a group of
people on the
Google
Groups S100Computers Forum, a "group purchases" was done. This process is
now closed. If you would
like such a board please keep an eye on the forum for when another run is
done. Do not contact me directly.
The links below will contain the most recent schematic of this board.
Note, it may change over time and some IC part or pin numbers may not correlate
exactly with the text in the article above.